// 导入jwt
const jwt = require('jsonwebtoken');

// 创建一个签名
const key = '0907-XA'  //任意字符串

//生成token 字符串
// 参数1：存储数据
// 参数2：签名
// 参数3：配置有效期
const token  =jwt.sign({
    id:"123",
    name:"laowang",
    age:18,
    email:"13923213123@163.com",
    phone:"13823782312"
},key,{
    // expiresIn:3  //有效期时长  单位S
    // expiresIn:"1h"  //有效期时长  1小时
    expiresIn:"1d"  //有效期时长  一天
});

// console.log(token);


// 验证token
// 参数1：token值
// 参数2：签名字符串
// 参数3：回调函数
    // 参数1：error 错误对象
    // 参数2：token存储的数据
// const key2 = 'abc';
setTimeout(() => {
    jwt.verify(token,key,(err,data)=>{
        // console.log('err',err);
        if(err){
            // console.log('错误名称',err.name); // key值错误时  JsonWebTokenError
                                              // token过期时  TokenExpiredError
            if(err.name === 'TokenExpiredError'){
                console.log("token过期了");
            }else{
                console.log("token非法获取");
            }
        }else{
            console.log('data',data);
        }
    });
},2000);

